package com.zisu.a996.guava;

import com.google.common.base.Charsets;
import com.google.common.io.ByteSource;
import com.google.common.io.CharSink;
import com.google.common.io.CharSource;
import com.google.common.io.Files;
import org.junit.Test;

import java.io.File;
import java.io.IOException;

/**
 * @Author: 蔡翔
 * @Date: 2019/12/1 15:09
 * @Version 1.0
 * 演示：如何使用流（source）和汇（Sink）来对文件进行操作
 */
public class IOTest {
    @Test
    public void copyFile() throws IOException {
        //创建对应的Source和Sink,不用手动关闭资源，只要自动关闭资源就行了。
        CharSource charSource = Files.asCharSource(new File("SourceText.txt"), Charsets.UTF_8);
        CharSink charSink = Files.asCharSink(new File("TargetText.txt"), Charsets.UTF_8);
        //拷贝
        //先把流拷贝到 汇里面去。(文件就生成了)
        charSource.copyTo(charSink);

        //Files. 有很多api，可以看看

    }
}